package task

/*
给executor传递的task
能复用api和task中数据结构则复用，如果未来逻辑变化导致数据结构不同，在这里重新定义。
要保证和whiteboard_transcode服务中定义一致,如有修改需要两个地方都进行修改。
*/

const ExpireTime = 604740 //7天 - 1min

type ExecutorTask struct {
	TaskUnique
	TranscodeMode         TranscodeMode         `json:"transcode_mode"`
	TranscodeConfig       TranscodeConfig       `json:"transcode_config"`
	Resource              string                `json:"resource"`
	ExecutorStorageConfig ExecutorStorageConfig `json:"executor_storage_config"`
	PreSignDuration       int64                 `json:"pre_sign_duration"`
}

type ExecutorStorageConfig struct {
	Type                 StorageType          `json:"type"`
	ExecutorCustomConfig ExecutorCustomConfig `json:"executor_custom_config"`
	ExecutorTosConfig    ExecutorTosConfig    `json:"executor_tos_config"`
}

type ExecutorCustomConfig struct {
	AccessKey string `json:"access_key"`
	SecretKey string `json:"secret_key"`
	Region    string `json:"region"`
	EndPoint  string `json:"end_point"`
	Bucket    string `json:"bucket"`
	Expire    uint64 `json:"expire"` //second
}

type ExecutorTosConfig struct {
	AccountId string `json:"account_id"`
	Region    string `json:"region"`
	EndPoint  string `json:"end_point"`
	Bucket    string `json:"bucket"`
	Expire    uint64 `json:"expire"` //second
}
